#ifndef CLOTHING_H
#define CLOTHING_H

#include "character.h"

#include <iostream>

using namespace std;

class Clothing : public Character
{
public:
    void decorate(Character* component)
    {
        component = component;
        show();
    }

    void show()
    {
        if (component != nullptr)
            component->show();
    }

private:
    Character* component;
};

class TShirt : public Clothing
{
public:
    void show()
    {
        cout << "T恤 ";
    }
};

class CasualPants : public Clothing
{
public:
    void show()
    {
        cout << "休闲裤 ";
    }
};

class GymShoes : public Clothing
{
public:
    void show()
    {
        cout << "运动鞋";
    }
};

class Suits : public Clothing
{
public:
    void show()
    {
        cout << "西装 ";
    }
};

class Tie : public Clothing
{
public:
    void show()
    {
        cout << "领带 ";
    }
};

class LeatherShoes : public Clothing
{
public:
    void show()
    {
        cout << "皮鞋";
    }
};

#endif